home *** CD-ROM | disk | FTP | other *** search
- /*
- * SetStar.c. AmigaMail '*' wildcard example. Pure code if pragmas are used.
- * Thursday 12-Jul-91 09:33:01, Ewout
- *
- * Compiled with SAS/C 5.10a: lc -cfis -v -d0 -b0 SetStar.c blink from SetStar.o
- * to SetStar \ lib lib:amiga.lib ; if you don't have pragmas
- *
- */
- /* (c) Copyright 1991 Commodore-Amiga, Inc. All rights reserved.
- The information contained herein is subject to change without notice,
- and is provided "as is" without warranty of any kind, either expressed
- or implied. The entire risk as to the use of this information is
- assumed by the user.
- */
-
- #include <exec/types.h>
- #include <dos/dosextens.h>
- #include <dos/rdargs.h>
-
- #include <clib/exec_protos.h>
- #include <clib/dos_protos.h>
-
- /*
- * undef PRAGMAS if you don't have them #define PRAGMAS
- */
- #ifdef PRAGMAS
- #include <pragmas/exec_pragmas.h>
- #include <pragmas/dos_pragmas.h>
- #else
- struct ExecBase *SysBase;
- struct DosLibrary *DOSBase;
-
- #endif
-
- static UBYTE *VersTag = "\0$VER: SetStar 37.1 (12.07.91)";
-
-
- VOID main(VOID);
- UWORD StrLen(UBYTE *);
-
- VOID
- main(VOID)
- {
- #ifdef PRAGMAS
- struct DosLibrary *DOSBase;
-
- #endif
-
- struct RDArgs *readargs;
- LONG rargs[2];
- UWORD on, off;
-
- #ifndef PRAGMAS
- /* set up SysBase */
- SysBase = (*((struct Library **) 4));
- #endif
-
- /* Fail silently if < 37 */
- if (DOSBase = (struct DosLibrary *) OpenLibrary("dos.library", 37))
- {
- rargs[0] = 0;
- rargs[1] = 0;
-
- /* See the DOS Autodocs for more information about ReadArgs() */
- if (readargs = ReadArgs("ON/S,OFF/S", rargs, NULL))
- {
- on = (UWORD) (rargs[0]);
- off = (UWORD) (rargs[1]);
-
- /*
- * The RNF_WILDSTAR bit in the rn_Flags field indicates whether the
- * '*' should be treated as wildcard or not.
- *
- * Show current setting if both ON & OFF or specified or neither.
- */
- if (on == off)
- {
- if (DOSBase->dl_Root->rn_Flags & RNF_WILDSTAR)
- rargs[0] = (LONG) "ON";
- else
- rargs[0] = (LONG) "OFF";
- VFPrintf(Output(), "Wildstar is %s\n", rargs);
- }
- else
- {
- if (on)
- DOSBase->dl_Root->rn_Flags |= RNF_WILDSTAR;
- else
- DOSBase->dl_Root->rn_Flags &= ~RNF_WILDSTAR;
- }
- FreeArgs(readargs);
- }
- else
- PrintFault(IoErr(), NULL);
- CloseLibrary((struct Library *) DOSBase);
- }
- }
-